1. Field of the Invention
The present invention relates to dynamically integrating disparate data systems, and more particularly to dynamically integrating disparate computer-aided dispatch systems.
2. Background and Related Art
When a computer software program is created, an application program interface is typically used. An application program interface is a set of routines, protocols, and tools for building software applications. A good application program interface makes it easier to develop a software program by providing the necessary building blocks. The programmer puts the building blocks together in order to create the computer software program.
Operating systems typically provide an application program interface so that programmers can write applications consistent with the particular operating environment. Although application program interfaces are designed for programmers, they also help users by guaranteeing that all programs using a common application program interface will have similar interfaces, which makes it easier for users to learn new programs.
Since a variety of operating systems are currently available, and thus a variety of corresponding application program interfaces are currently used, computer systems can be disparate and therefore experience difficulties in exchanging data or be unable to exchange data.
In a variety of different industries, desirable information is located in such disparate information systems. One such example is in the public safety industry, where driver license information, warrant information, and other desirable information is typically located in disparate and incompatible systems. Accordingly, public safety officials employ a plurality of independent radio and/or computer networks to access information.
One particular type of system utilized by the public safety industry is a computer-aided dispatch (CAD) system. While computer-aided dispatch systems are particularly useful to the public safety industry in providing computerized allocation and tracking of resources, such systems have limitations. In particular, a single municipality may have multiple such CAD systems corresponding to multiple agencies (fire, police, ambulance and various entities providing such and similar services, etc.). Where multiple CAD systems service a single entity, the municipality often wishes for improved communication between such systems. Additionally, neighboring municipalities often have mutual aid or other similar agreements between them, where resources of one municipality are committed to responding to an emergency situation in another municipality. Again, improved communication between the CAD systems of each municipality in such situations may be desired.
Many CAD systems utilize different technologies, computer languages, data, etc., making reliable communication between such systems difficult at best. A common solution for communicating between systems has been to provide a rigid and customized point-to-point adapter and data transformation operations. However, such designs have been difficult to implement on a large scale, as an increasing number of CAD systems needing to be integrated requires a number of orchestrations and data transformations equivalent to the total number of CAD systems multiplied by one less than the total number of CAD systems. Additionally, ongoing maintenance, customization, and/or upgrades requires support and customization of each point-to-point pipeline. Therefore, existing CAD system operability solutions have been less than adequate.